package com.geek.javase.ch11.work.functionwork;

import java.util.function.Function;

/*
 *@author wangpeng
 *2025/10/22 14:11
 *@description
 * 自定义函数模型拼接
 * 请使用Function进行函数模型的拼接，按照顺序需要执行的多个函数操作为：
 * String str = "张三,20";
 * 将字符串截取数字年龄部分，得到字符串；
 * 将上一步的字符串转换成为int类型的数字；
 * 将上一步的int数字加上100，得到结果int数字。
 *
 * R apply(T t);  将T泛型类型的数据转成R泛型类型,并返回R   T -> R
 */

public class Demo3 {
    public static void main(String[] args) {
        String str = "张三,20";
        Function<String, String> str1 = s -> s.split(",")[1];
        Function<String, Integer> str2 = s -> Integer.parseInt(s);
        Function<Integer, Integer> str3 = s -> s + 100;

        int result = str1.andThen(str2).andThen(str3).apply(str);

        System.out.println(result);

    }

}


